Relational Semantics for Higher-Order Programs
نویسندگان
چکیده
Most previous work on the semantics of higher-order programs with local state involves complex storage modeling with pointers and memory cells, complicated categorical constructions, or reasoning in the presence of context. In this paper we show how a relatively simple relational semantics can be used to avoid these complications. We provide a natural relational semantics for a programming language with higher-order functions. The semantics is purely compositional, with all contextual considerations completely encapsulated in the state. We show several equivalence proofs using this semantics based on examples of Meyer and Sieber (1988).
منابع مشابه
Relational Semantics for Higher-Order Functional Programs
Much work has been done on the semantics of programs with local state. Most of this work involves complex storage modeling with pointers and memory cells, complicated categorical constructions, and reasoning in the presence of context. We show how a relatively simple relational semantics can be used to avoid these complications. We provide a natural relational semantics for a programming langua...
متن کاملRelational Semantics of Local Variable Scoping
Most previous work on the equivalence of programs in the presence of local state has involved intricate memory modeling and the notion of contextual (observable) equivalence. We show how relational semantics can be used to avoid these complications. We define a notion of local variable scoping, along with a purely compositional semantics based on binary relations, such that all contextual consi...
متن کاملImperative abstractions for functional actions
We elaborate our relational model of non-strict, imperative computations. The theory is extended to support infinite data structures. To facilitate their use in programs, we extend the programming language by concepts such as procedures, parameters, partial application, algebraic data types, pattern matching and list comprehensions. For each concept, we provide a relational semantics. Abstracti...
متن کاملEntangled abstract domains for higher-order programs
Relational abstract domains are a cornerstone of static analysis for first-order programs. We explore challenges in generalizing relational abstract domains to higher-order program analysis. We find two reasonable, orthogonal and complementary interpretations of relational domains in a higher-order setting. The first technique, locally relational abstract domains, are relational abstract domain...
متن کامل1 Bayesian Logic Programming : Theory and Tool
In recent years, there has been a significant interest in integrating probability theory with first order logic and relational representations [see De Raedt and Kersting, 2003, for an overview]. Muggleton [1996] and Cussens [1999] have upgraded stochastic grammars towards Stochastic Logic Programs, Sato and Kameya [2001] have introduced Probabilistic Distributional Semantics for logic programs,...
متن کامل